// package com.zmn.plat.business.impl.news;
//
// import com.zmn.common.constant.GlobalConsts;
// import com.zmn.common.dictionary.GlobalDict;
// import com.zmn.common.dto.StatusDTO;
// import com.zmn.common.utils.string.StringUtil;
// import com.zmn.plat.business.interfaces.news.NewsBService;
// import com.zmn.plat.manager.interfaces.cache.NewsCategoryCache;
// import com.zmn.plat.manager.utils.MqConsts;
// import com.zmn.plat.model.dto.MQNewsDTO;
// import com.zmn.plat.model.entity.news.News;
// import com.zmn.plat.model.entity.news.NewsContent;
// import com.zmn.plat.model.entity.news.NewsImage;
// import com.zmn.plat.services.interfaces.news.NewsCategoryService;
// import com.zmn.plat.services.interfaces.news.NewsService;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Service;
//
// import javax.annotation.Resource;
// import java.util.Date;
// import java.util.List;
//
/// **
// * Creator: nowind
// * @since 2018/7/12 18:16
// */
// @Service
// public class NewsBServiceImpl implements NewsBService {
//
// @Resource
// private NewsService newsService;
// @Resource
// private NewsCategoryService newsCategoryService;
// @Autowired
// private NewsCategoryCache newsCategoryCache;
//// @Autowired
//// private NewsMqManager indexNewsMqSendManager;
//
//
// /*========== news ==========*/
//
// @Override
// public Integer updateByKey(News news) {
//
// bindCategName(news);
// int pos = newsService.updateByKey(news);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForUpdate(news.getNewsId());
// }
//
// return pos;
// }
//
// @Override
// public Integer updateStatus(Integer newsId, Integer status, String updater) {
// News news = new News();
// news.setNewsId(newsId);
// news.setStatus(status);
// news.setUpdater(updater);
// return this.updateStatus(news);
// }
// @Override
// public Integer updateStatus(News news) {
//
// int pos = newsService.updateStatus(news);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForUpdateStatus(news.getNewsId(), news.getStatus(), news.getUpdateTime());
// }
//
// return pos;
// }
//
// @Override
// public Integer updateStatusBatch(List<Integer> newsIds, Integer status, String updater) {
//
// StatusDTO dto = new StatusDTO();
// dto.setIds(newsIds);
// dto.setStatus(status);
// dto.setUpdater(updater);
//
// return this.updateStatusBatch(dto);
// }
// @Override
// public Integer updateStatusBatch(StatusDTO dto) {
//
// int pos = newsService.updateStatusBatch(dto);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForUpdateStatus(StringUtil.convertListToStrs(dto.getIds()), dto.getStatus(), dto.getUpdateTime());
// }
//
// return pos;
// }
//
// @Override
// public Integer updateSort(Integer newsId, Integer sort) {
// News news = new News();
// news.setNewsId(newsId);
// news.setSort(sort);
// return this.updateSort(news);
// }
// @Override
// public Integer updateSort(News news) {
//
// int pos = newsService.updateSort(news);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForUpdateSort(news.getNewsId(), news.getSort());
// }
//
// return pos;
// }
//
// @Override
// public Integer insert(News news) {
//
// bindCategName(news);
// if(news.getSourceType() == 0) {
// news.setSourceType(GlobalDict.SOURCE_TYPE_INPUT); //默认输入
// }
// if(news.getSort() == 0) {
// news.setSort(100);
// }
// if(news.getStatus() == 0) {
// news.setStatus(GlobalDict.STATUS_ENABLE);
// }
//
// int pos = newsService.insert(news);
//
// if(pos > 0) {
// NewsContent content = new NewsContent();
// content.setNewsId(news.getNewsId());
// content.setContent(news.getContent());
// content.setUpdater(news.getUpdater());
// content.setUpdateTime(news.getUpdateTime());
// pos = this.insertContent(content);
// } else {
// pos = 0;
// }
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForAdd(news.getNewsId());
// }
//
// return pos;
// }
//
//
// @Override
// public Integer deleteByKey(Integer newsId) {
//
// int pos = newsService.deleteByKey(newsId);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForDelete(newsId);
// }
//
// return pos;
// }
//
//
// //region 取得news分类名称
// private void bindCategName(News news) {
//
// int categId = news.getCategId();
// if(categId <= GlobalConsts.TOP_ID) {
// categId = news.getCategTwoId();
// }
// if(categId <= GlobalConsts.TOP_ID) {
// categId = news.getCategOneId();
// }
//
// if(categId > GlobalConsts.TOP_ID) {
// news.setCategName(newsCategoryCache.getCategory(categId).getCategName());
// }
// }
// //endregion
//
//
// /*========== news_content ==========*/
//
// @Override
// public Integer updateContentByKey(NewsContent newsContent) {
//
// int pos = newsService.updateContentByKey(newsContent);
// int pos2 = pos > 0 ? pos : this.insertContent(newsContent);
//
// //更新搜索索引
// if(pos > 0 || pos2 > 0) {
// this.sendIndexMQForUpdateModifyTime(newsContent.getNewsId(), newsContent.getUpdateTime());
// }
//
// return pos2;
// }
//
//
// @Override
// public Integer insertContent(NewsContent newsContent) {
//
// int pos = newsService.insertContent(newsContent);
//
// //更新搜索索引
// if(pos > 0) {
// this.sendIndexMQForUpdateModifyTime(newsContent.getNewsId(), newsContent.getUpdateTime());
// }
//
// return pos;
// }
//
//
// /*========== news_image ==========*/
//
// @Override
// public Integer insertImage(NewsImage newsImage) {
//
// if(newsImage.getSort() == 0) {
// newsImage.setSort(100);
// }
// if(newsImage.getMaster() == 0) {
// newsImage.setMaster(GlobalDict.YESNO_NO);
// }
//
// if(newsImage.getMaster() == GlobalDict.YESNO_YES) { //主图sort为0
// newsImage.setSort(0);
// }
//
// int pos = newsService.insertImage(newsImage);
//
// //更新搜索索引
// //if(pos > 0 && newsImage.getMaster() == NewsImage.MASTER_YES)
// // this.sendIndexMQForUpdateImgSrc(newsImage.getNewsId(), newsImage.getImgSrc(), newsImage.getUpdateTime());
//
// return pos;
// }
//
//
// //region 发送搜索索引MQ消息
//
// /**
// * 新增
// */
// private void sendIndexMQForAdd(int newsId) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_ADD);
// mq.setNewsId(newsId);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新
// */
// private void sendIndexMQForUpdate(int newsId) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE);
// mq.setNewsId(newsId);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新修改时间
// */
// private void sendIndexMQForUpdateModifyTime(int newsId, Date updateTime) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_UPDATETIME);
// mq.setNewsId(newsId);
// mq.setUpdateTime(updateTime);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新主图
// */
// private void sendIndexMQForUpdateImgSrc(int newsId, String imgSrc, Date updateTime) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_IMGSRC);
// mq.setNewsId(newsId);
// mq.setImgSrc(imgSrc);
// mq.setUpdateTime(updateTime);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新状态
// */
// private void sendIndexMQForUpdateStatus(int newsId, int status, Date updateTime) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_STATUS);
// mq.setNewsId(newsId);
// mq.setStatus(status);
// mq.setUpdateTime(updateTime);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新状态(批量)
// */
// private void sendIndexMQForUpdateStatus(String newsIds, int status, Date updateTime) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_STATUS_BATCH);
// mq.setNewsIds(newsIds);
// mq.setStatus(status);
// mq.setUpdateTime(updateTime);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 更新排序
// */
// private void sendIndexMQForUpdateSort(int newsId, int sort) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_SORT);
// mq.setNewsId(newsId);
// mq.setSort(sort);
//
// this.sendIndexMQ(mq);
// }
// /**
// * 更新排序(批量)
// */
// private void sendIndexMQForUpdateSort(String newsIds, String sorts) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_UPDATE_SORT_BATCH);
// mq.setNewsIds(newsIds);
// mq.setSorts(sorts);
//
// this.sendIndexMQ(mq);
// }
//
// /**
// * 删除
// */
// private void sendIndexMQForDelete(int newsId) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_DELETE);
// mq.setNewsId(newsId);
//
// this.sendIndexMQ(mq);
// }
// /**
// * 删除(批量)
// */
// private void sendIndexMQForDelete(String newsIds) {
//
// MQNewsDTO mq = new MQNewsDTO();
// mq.setType(MqConsts.INDEX_TYPE_DELETE_BATCH);
// mq.setNewsIds(newsIds);
//
// this.sendIndexMQ(mq);
// }
//
// //region 发送消息
// private void sendIndexMQ(MQNewsDTO mq) {
//// indexNewsMqSendManager.sendIndexQueue(mq);
// }
// //endregion
//
// //endregion
//
// }
